/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package gerarformularios;

import com.itextpdf.text.BadElementException;
import com.itextpdf.text.BaseColor;
import com.itextpdf.text.Chunk;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Element;
import com.itextpdf.text.Font;
import com.itextpdf.text.FontFactory;
import com.itextpdf.text.PageSize;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.Phrase;
import com.itextpdf.text.Rectangle;
import com.itextpdf.text.pdf.ColumnText;
import com.itextpdf.text.pdf.PdfContentByte;
import com.itextpdf.text.pdf.PdfPCell;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.PdfStamper;
import com.itextpdf.text.pdf.PdfWriter;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.MalformedURLException;
import java.util.StringTokenizer;

/**
 *
 * @author pedro
 */
public class GerarFormularios {

    public static boolean gerarCertificado(String nomeEstagiario, String curso, int horarioTotal, String periodoInicio, String periodoFim, String nomeEmpresa, String nomeOrientador, String nomeSupervisor) throws FileNotFoundException, IOException, DocumentException {
        PdfReader reader = new PdfReader(new FileInputStream("certificado.pdf"));
        PdfStamper stamper = new PdfStamper(reader, new FileOutputStream("certificado " + nomeEstagiario + ".pdf"));
        PdfContentByte canvas = stamper.getOverContent(1);
        Rectangle pagina = reader.getPageSize(1);

        Phrase frase = new Phrase("", FontFactory.getFont(FontFactory.TIMES, 14));
        Chunk chunk = new Chunk("Certificamos que ");
        frase.add(chunk);
        chunk = new Chunk(nomeEstagiario);
        chunk.setFont(FontFactory.getFont(FontFactory.TIMES_BOLD, 15));
        frase.add(chunk);
        chunk = new Chunk(", do curso de " + curso);
        frase.add(chunk);
        ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, frase, pagina.getWidth() / 2 + 65, pagina.getHeight() / 2, 270);

        frase = new Phrase("", FontFactory.getFont(FontFactory.TIMES, 14));
        chunk = new Chunk(" da Faculdade de Computação da Universidade Federal de Mato Grosso do Sul,");
        frase.add(chunk);
        ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, frase, pagina.getWidth() / 2 + 35, pagina.getHeight() / 2, 270);


        frase = new Phrase("", FontFactory.getFont(FontFactory.TIMES, 14));
        chunk = new Chunk("cumpriu " + horarioTotal + " horas de estágio no período de " + periodoInicio + " a " + periodoFim + ",");
        frase.add(chunk);
        ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, frase, pagina.getWidth() / 2 + 5, pagina.getHeight() / 2, 270);

        frase = new Phrase("", FontFactory.getFont(FontFactory.TIMES, 14));
        chunk = new Chunk("na empresa " + nomeEmpresa + ".");
        frase.add(chunk);
        ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, frase, pagina.getWidth() / 2 - 25, pagina.getHeight() / 2, 270);

        frase = new Phrase("", FontFactory.getFont(FontFactory.TIMES, 14));
        chunk = new Chunk(".      " + nomeOrientador + " - Orientador(a)" + "      .");
        chunk.setUnderline(0.1f, 12f);
        frase.add(chunk);
        chunk = new Chunk("                                        ");
        frase.add(chunk);
        chunk = new Chunk(".      " + nomeSupervisor + " - Supervisor(a)" + "      .");
        chunk.setUnderline(0.1f, 12f);
        frase.add(chunk);
        ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, frase, pagina.getWidth() / 2 - 115, pagina.getHeight() / 2, 270);

        stamper.close();
        return true;
    }

    static boolean gerarFichaFrequencia(FichaFrequencia fichaFrequencia) throws DocumentException, FileNotFoundException {
        //Instanciação do Objeto do Documento        
        Document document = new Document(PageSize.A4, 50, 50, 50, 50);
        //Criação de Objeto PdfWriter
        PdfWriter writer;
        writer = PdfWriter.getInstance(document, new FileOutputStream("FichaFrequencia.pdf"));
        document.open();

        //Cabecalho
        Paragraph paragrafo;
        paragrafo = new Paragraph("FICHA DE FREQUÊNCIA DE ESTÁGIO", FontFactory.getFont(FontFactory.TIMES_ROMAN, 18, Font.BOLD));

        paragrafo.setAlignment(Element.ALIGN_CENTER);
        paragrafo.setSpacingAfter(2);
        document.add(paragrafo);

        Chunk chunk = new Chunk("                                                                                                                                            ");
        chunk.setUnderline(0.1f, 0f);
        chunk.setUnderline(0.1f, 2f);
        paragrafo = new Paragraph(chunk);
        paragrafo.setAlignment(Element.ALIGN_CENTER);
        paragrafo.setSpacingAfter(10);
        document.add(paragrafo);

        //informacoes
        paragrafo = new Paragraph(null, FontFactory.getFont(FontFactory.TIMES_ROMAN, 12));
        paragrafo.setSpacingAfter(20);
        chunk = new Chunk("Curso: ");
        paragrafo.add(chunk);
        chunk = new Chunk(fichaFrequencia.getEstagio().getEstagiario().getCurso().getNome());
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        chunk = new Chunk("\nModalidade de estágio: ");
        paragrafo.add(chunk);
        if (fichaFrequencia.getEstagio().isIsObrigatorio()) {
            chunk = new Chunk("Obrigatório");
        } else {
            chunk = new Chunk("Não-obrigatório");
        }
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        document.add(paragrafo);

        paragrafo = new Paragraph(null, FontFactory.getFont(FontFactory.TIMES_ROMAN, 12));
        paragrafo.setSpacingAfter(20);
        chunk = new Chunk("Estagiário: ");
        paragrafo.add(chunk);
        chunk = new Chunk(fichaFrequencia.getEstagio().getEstagiario().getNome());
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);
        chunk = new Chunk("\nEmpresa: ");
        paragrafo.add(chunk);
        chunk = new Chunk(fichaFrequencia.getEstagio().getConcedente().getNome());
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);
        chunk = new Chunk("\nSupervisor: ");
        paragrafo.add(chunk);
        chunk = new Chunk(fichaFrequencia.getEstagio().getSupervisor().getNome());
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);
        chunk = new Chunk("\nReferente ao mês: ");
        paragrafo.add(chunk);
        chunk = new Chunk(fichaFrequencia.getReferenteAoMes());
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);
        document.add(paragrafo);

        //tabela
        paragrafo = new Paragraph(null, FontFactory.getFont(FontFactory.TIMES_ROMAN, 12));
        paragrafo.setSpacingAfter(40);

        PdfPTable tabela = new PdfPTable(new float[]{2, 2, 6});
        tabela.setWidthPercentage(100.0f);
        PdfPCell celula = new PdfPCell();
        celula.setPhrase(new Phrase("Data", FontFactory.getFont(FontFactory.TIMES_BOLD, 12)));
        celula.setBackgroundColor(BaseColor.LIGHT_GRAY);
        celula.setHorizontalAlignment(Element.ALIGN_CENTER);
        tabela.addCell(celula);
        celula.setPhrase(new Phrase("Horário de Trabalho", FontFactory.getFont(FontFactory.TIMES_BOLD, 12)));
        tabela.addCell(celula);
        celula.setPhrase(new Phrase("Atividades", FontFactory.getFont(FontFactory.TIMES_BOLD, 12)));
        tabela.addCell(celula);

        StringTokenizer st = new StringTokenizer(fichaFrequencia.getTabela(), "@");
        while (st.hasMoreTokens()) {
            tabela.addCell(st.nextToken());
        }
        celula.setColspan(2);
        celula.setPhrase(new Phrase("Carga Horária Mensal", FontFactory.getFont(FontFactory.TIMES_BOLD, 12)));
        tabela.addCell(celula);
        celula.setBackgroundColor(BaseColor.WHITE);
        celula.setPhrase(new Phrase(" ", FontFactory.getFont(FontFactory.TIMES_BOLD, 12)));
        tabela.addCell(celula);
        paragrafo.add(tabela);
        document.add(paragrafo);

        //assinaturas
        paragrafo = new Paragraph(null, FontFactory.getFont(FontFactory.TIMES_ROMAN, 9));
        paragrafo.setAlignment(Element.ALIGN_CENTER);

        chunk = new Chunk("                              Estagiário                              ");
        chunk.setUnderline(0.1f, 10f);
        paragrafo.add(chunk);
        chunk = new Chunk("                        ");
        paragrafo.add(chunk);
        chunk = new Chunk("                              Supervisor                              ");
        chunk.setUnderline(0.1f, 10f);
        paragrafo.add(chunk);

        document.add(paragrafo);


        document.close();

        return true;
    }

    public static Boolean gerarRelatorio(Boolean isFinal, String cursoEstagiario, boolean isObrigatorio, String nomeEstagiario, String nomeOrientador, String nomeConcedente, String nomeSupervisor, String periodoInicio, String periodoFim, double cargaHorariaAcumulada, double valorBolsa, double valorAuxilioTransporte, String atividadesDesenvolvidas, int programaEstagio, String atividadesNaoIncluidasProgramaEstagio, String tarefasNaoContribuiram, String tarefasIndispensaveisNaoFeitas, int realidadeTrabalho, int conhecimentosTeoricos, boolean ambientacaoPessoas, boolean temOrientadorTarefas, String orientadorTarefas, boolean informacoesClaras, boolean informacoesDadas, String aQuemRecorria, int sentirDeficiencias, String dificuldades, boolean trocaExperiencia, int solucoesProprias, boolean trabalhosTeoricosPalestras, String outrasObservacoes) throws DocumentException, FileNotFoundException {
        //Instanciação do Objeto do Documento        
        Document document = new Document(PageSize.A4, 50, 50, 50, 50);
        //Criação de Objeto PdfWriter
        PdfWriter writer;
        if (isFinal) {
            writer = PdfWriter.getInstance(document, new FileOutputStream("RelatorioFinal.pdf"));
        } else {
            writer = PdfWriter.getInstance(document, new FileOutputStream("RelatorioParcial.pdf"));
        }
        HeaderFooter event = new HeaderFooter();
        writer.setPageEvent(event);
        document.open();

        //Cabecalho
        Paragraph paragrafo;
        if (isFinal) {
            paragrafo = new Paragraph("RELATÓRIO FINAL DE ATIVIDADES DE ESTÁGIO", FontFactory.getFont(FontFactory.TIMES_ROMAN, 18, Font.BOLD));
        } else {
            paragrafo = new Paragraph("RELATÓRIO PARCIAL DE ATIVIDADES DE ESTÁGIO", FontFactory.getFont(FontFactory.TIMES_ROMAN, 18, Font.BOLD));
        }
        paragrafo.setAlignment(Element.ALIGN_CENTER);
        paragrafo.setSpacingAfter(2);
        document.add(paragrafo);

        Chunk chunk = new Chunk("                                                                                                                                            ");
        chunk.setUnderline(0.1f, 0f);
        chunk.setUnderline(0.1f, 2f);
        paragrafo = new Paragraph(chunk);
        paragrafo.setAlignment(Element.ALIGN_CENTER);
        paragrafo.setSpacingAfter(10);
        document.add(paragrafo);

        //informacoes
        paragrafo = new Paragraph(null, FontFactory.getFont(FontFactory.TIMES_ROMAN, 12));
        paragrafo.setSpacingAfter(20);
        chunk = new Chunk("Curso: ");
        paragrafo.add(chunk);
        chunk = new Chunk(cursoEstagiario);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        chunk = new Chunk("\nModalidade de estágio: ");
        paragrafo.add(chunk);
        if (isObrigatorio) {
            chunk = new Chunk("Obrigatório");
        } else {
            chunk = new Chunk("Não-obrigatório");
        }
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        document.add(paragrafo);

        paragrafo = new Paragraph(null, FontFactory.getFont(FontFactory.TIMES_ROMAN, 12));
        paragrafo.setSpacingAfter(20);
        chunk = new Chunk("Estagiário: ");
        paragrafo.add(chunk);
        chunk = new Chunk(nomeEstagiario);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);
        chunk = new Chunk("\nProfessor Orientador: ");
        paragrafo.add(chunk);
        chunk = new Chunk(nomeOrientador);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);
        chunk = new Chunk("\nEmpresa: ");
        paragrafo.add(chunk);
        chunk = new Chunk(nomeConcedente);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);
        chunk = new Chunk("\nSupervisor: ");
        paragrafo.add(chunk);
        chunk = new Chunk(nomeSupervisor);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);
        chunk = new Chunk("\nPeríodo: ");
        paragrafo.add(chunk);
        chunk = new Chunk(periodoInicio);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);
        chunk = new Chunk(" a ");
        paragrafo.add(chunk);
        chunk = new Chunk(periodoFim);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);
        chunk = new Chunk("\nCarga Horária Acumulada: ");
        paragrafo.add(chunk);
        chunk = new Chunk(String.valueOf(cargaHorariaAcumulada));
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);
        chunk = new Chunk("\nBolsa ou outra forma de contraprestação: ");
        paragrafo.add(chunk);
        if (valorAuxilioTransporte + valorBolsa > 0) {
            chunk = new Chunk("Sim");
        } else {
            chunk = new Chunk("Não");
        }
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        document.add(paragrafo);


        //relatorio
        paragrafo = new Paragraph(null, FontFactory.getFont(FontFactory.TIMES_ROMAN, 12));
        paragrafo.setSpacingAfter(20);
        paragrafo.setAlignment(Element.ALIGN_JUSTIFIED);

        chunk = new Chunk("01)  Mencione as atividades desenvolvidas neste período.\n");
        chunk.setFont(FontFactory.getFont(FontFactory.TIMES_BOLD, 12));
        paragrafo.add(chunk);
        chunk = new Chunk(atividadesDesenvolvidas);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        chunk = new Chunk("\n\n02)  A empresa onde você estagia tem um \"Programa de Estágio\"? Em caso afirmativo, indique as atividades desenvolvidas por você que não estavam incluídas no programa.\n");
        chunk.setFont(FontFactory.getFont(FontFactory.TIMES_BOLD, 12));
        paragrafo.add(chunk);
        if (programaEstagio == 0) {
            chunk = new Chunk("Sim. " + atividadesNaoIncluidasProgramaEstagio);
        } else if (programaEstagio == 1) {
            chunk = new Chunk("Não.");
        } else if (programaEstagio == 2) {
            chunk = new Chunk("Desconheço.");
        }
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        chunk = new Chunk("\n\n03)  Indique as tarefas que desempenhou que a seu ver não contribuíram para sua formação profissional.\n");
        chunk.setFont(FontFactory.getFont(FontFactory.TIMES_BOLD, 12));
        paragrafo.add(chunk);
        chunk = new Chunk(tarefasNaoContribuiram);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        chunk = new Chunk("\n\n04)  Indique alguns tipos de atividades que você não realizou e que considera indispensável à sua formação profissional.\n");
        chunk.setFont(FontFactory.getFont(FontFactory.TIMES_BOLD, 12));
        paragrafo.add(chunk);
        chunk = new Chunk(tarefasIndispensaveisNaoFeitas);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        chunk = new Chunk("\n\n05)  O estágio proporcionou contato com situações variadas da realidade de trabalho profissional de sua área?\n");
        chunk.setFont(FontFactory.getFont(FontFactory.TIMES_BOLD, 12));
        paragrafo.add(chunk);
        if (realidadeTrabalho == 0) {
            chunk = new Chunk("Sim.");
        } else if (realidadeTrabalho == 1) {
            chunk = new Chunk("Não.");
        } else if (realidadeTrabalho == 2) {
            chunk = new Chunk("Não observei.");
        }
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        chunk = new Chunk("\n\n06)  Você teve oportunidade, durante o estágio, de colocar em prática os conhecimentos teóricos adquiridos durante o curso?\n");
        chunk.setFont(FontFactory.getFont(FontFactory.TIMES_BOLD, 12));
        paragrafo.add(chunk);
        if (conhecimentosTeoricos == 0) {
            chunk = new Chunk("Sim.");
        } else if (conhecimentosTeoricos == 1) {
            chunk = new Chunk("Não.");
        } else if (conhecimentosTeoricos == 2) {
            chunk = new Chunk("Não observei.");
        }
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        chunk = new Chunk("\n\n07)  No início do estágio houve algum tipo de ambientação com as demais pessoas do grupo?\n");
        chunk.setFont(FontFactory.getFont(FontFactory.TIMES_BOLD, 12));
        paragrafo.add(chunk);
        if (ambientacaoPessoas == true) {
            chunk = new Chunk("Sim.");
        } else if (ambientacaoPessoas == false) {
            chunk = new Chunk("Não.");
        }
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        chunk = new Chunk("\n\n08)  Na empresa onde realizou estágio havia alguém em especial que o orientou e o acompanhou no desenvolvimento de suas tarefas? Em caso afirmativo, qual foi este profissional?\n");
        chunk.setFont(FontFactory.getFont(FontFactory.TIMES_BOLD, 12));
        paragrafo.add(chunk);
        if (temOrientadorTarefas == true) {
            chunk = new Chunk("Sim. " + orientadorTarefas);
        } else if (ambientacaoPessoas == false) {
            chunk = new Chunk("Não.");
        }
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        chunk = new Chunk("\n\n09)  Você recebia informações claras sobre o desempenho de suas tarefas? Em caso afirmativo, essas informações lhe eram dadas com que frequência?\n");
        chunk.setFont(FontFactory.getFont(FontFactory.TIMES_BOLD, 12));
        paragrafo.add(chunk);
        if (informacoesClaras == true) {
            if (informacoesDadas == true) {
                chunk = new Chunk("Sim. Continuamente.");
            } else if (informacoesDadas == false) {
                chunk = new Chunk("Sim. Esporadicamente.");
            }
        } else if (informacoesClaras == false) {
            chunk = new Chunk("Não.");
        }
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        chunk = new Chunk("\n\n10)  Quando encontrava dificuldades na realização de suas tarefas, a quem recorria?\n");
        chunk.setFont(FontFactory.getFont(FontFactory.TIMES_BOLD, 12));
        paragrafo.add(chunk);
        chunk = new Chunk(aQuemRecorria);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        chunk = new Chunk("\n\n11)  O estágio lhe permitiu sentir suas deficiências e procurar aprimoramento?\n");
        chunk.setFont(FontFactory.getFont(FontFactory.TIMES_BOLD, 12));
        paragrafo.add(chunk);
        if (sentirDeficiencias == 0) {
            chunk = new Chunk("Sempre.");
        } else if (sentirDeficiencias == 1) {
            chunk = new Chunk("Nunca.");
        } else if (sentirDeficiencias == 2) {
            chunk = new Chunk("Às vezes.");
        }
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        chunk = new Chunk("\n\n12)  Indique as dificuldades que teve em relação ao desempenho de suas tarefas.\n");
        chunk.setFont(FontFactory.getFont(FontFactory.TIMES_BOLD, 12));
        paragrafo.add(chunk);
        chunk = new Chunk(dificuldades);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        chunk = new Chunk("\n\n13)  Houve, em seu estágio, possibilidade de troca de experiência com outros profissionais?\n");
        chunk.setFont(FontFactory.getFont(FontFactory.TIMES_BOLD, 12));
        paragrafo.add(chunk);
        if (trocaExperiencia == true) {
            chunk = new Chunk("Sim.");
        } else if (trocaExperiencia == false) {
            chunk = new Chunk("Não.");
        }
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        chunk = new Chunk("\n\n14)  Você teve possibilidade de procurar soluções próprias para os problemas que surgiram durante o desempenho de suas tarefas de estágio?\n");
        chunk.setFont(FontFactory.getFont(FontFactory.TIMES_BOLD, 12));
        paragrafo.add(chunk);
        if (solucoesProprias == 0) {
            chunk = new Chunk("Sempre.");
        } else if (solucoesProprias == 1) {
            chunk = new Chunk("Nunca.");
        } else if (solucoesProprias == 2) {
            chunk = new Chunk("Às vezes.");
        }
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        chunk = new Chunk("\n\n15)  Você teve oportunidade de realizar trabalhos teóricos (leituras, pesquisas) ou freqüentar palestras na Universidade ou fora dela?\n");
        chunk.setFont(FontFactory.getFont(FontFactory.TIMES_BOLD, 12));
        paragrafo.add(chunk);
        if (trabalhosTeoricosPalestras == true) {
            chunk = new Chunk("Sim.");
        } else if (trabalhosTeoricosPalestras == false) {
            chunk = new Chunk("Não.");
        }
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        chunk = new Chunk("\n\n16)  Se você quiser fazer alguma observação, utilize as linhas abaixo.\n");
        chunk.setFont(FontFactory.getFont(FontFactory.TIMES_BOLD, 12));
        paragrafo.add(chunk);
        chunk = new Chunk(outrasObservacoes);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        document.add(paragrafo);

        //Assinaturas
        paragrafo = new Paragraph(null, FontFactory.getFont(FontFactory.TIMES_ROMAN, 9));
        paragrafo.setAlignment(Element.ALIGN_CENTER);
        chunk = new Chunk("\nLocal: _________________________________      Data: _________________________________\n\n\n");
        paragrafo.add(chunk);


        chunk = new Chunk("                              Estagiário                              ");
        chunk.setUnderline(0.1f, 10f);
        paragrafo.add(chunk);
        chunk = new Chunk("        ");
        paragrafo.add(chunk);
        chunk = new Chunk("                              Supervisor                              ");
        chunk.setUnderline(0.1f, 10f);
        paragrafo.add(chunk);

        document.add(paragrafo);


        document.close();
        return true;
    }

    public static Boolean gerarAvaliacao(Boolean isEstagiario, String cursoEstagiario, boolean isObrigatorio, String nomeEstagiario, String nomeOrientador, String nomeConcedente, String nomeSupervisor, String periodoInicio, String periodoFim, double valorBolsa, double valorAuxilioTransporte, int ai1, int ai2, int ai3, int ai4, int ap1, int ap2, int ap3, int ap4, int ap5, int ap6, int atp1, int atp2, int atp3, int atp4, int atp5, int atp6, String c4_1, String c4_2, String sugestoes) throws FileNotFoundException, DocumentException {
        //Instanciação do Objeto do Documento        
        Document document = new Document(PageSize.A4, 50, 50, 50, 50);
        //Criação de Objeto PdfWriter
        PdfWriter writer;
        if (isEstagiario) {
            writer = PdfWriter.getInstance(document, new FileOutputStream("AvaliacaoEstagiario.pdf"));
        } else {
            writer = PdfWriter.getInstance(document, new FileOutputStream("AvaliacaoSupervisor.pdf"));
        }
        HeaderFooter event = new HeaderFooter();
        writer.setPageEvent(event);
        document.open();

        //Cabecalho
        Paragraph paragrafo;
        if (isEstagiario) {
            paragrafo = new Paragraph("AUTO-AVALIAÇÃO DO ESTAGIÁRIO", FontFactory.getFont(FontFactory.TIMES_ROMAN, 18, Font.BOLD));
        } else {
            paragrafo = new Paragraph("AVALIAÇÃO DO ESTAGIÁRIO PELO SUPERVISOR", FontFactory.getFont(FontFactory.TIMES_ROMAN, 18, Font.BOLD));
        }
        paragrafo.setAlignment(Element.ALIGN_CENTER);
        paragrafo.setSpacingAfter(2);
        document.add(paragrafo);

        Chunk chunk = new Chunk("                                                                                                                                            ");
        chunk.setUnderline(0.1f, 0f);
        chunk.setUnderline(0.1f, 2f);
        paragrafo = new Paragraph(chunk);
        paragrafo.setAlignment(Element.ALIGN_CENTER);
        paragrafo.setSpacingAfter(10);
        document.add(paragrafo);

        //informacoes
        paragrafo = new Paragraph(null, FontFactory.getFont(FontFactory.TIMES_ROMAN, 12));
        paragrafo.setSpacingAfter(20);
        chunk = new Chunk("Curso: ");
        paragrafo.add(chunk);
        chunk = new Chunk(cursoEstagiario);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        chunk = new Chunk("\nModalidade de estágio: ");
        paragrafo.add(chunk);
        if (isObrigatorio) {
            chunk = new Chunk("Obrigatório");
        } else {
            chunk = new Chunk("Não-obrigatório");
        }
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        document.add(paragrafo);

        paragrafo = new Paragraph(null, FontFactory.getFont(FontFactory.TIMES_ROMAN, 12));
        paragrafo.setSpacingAfter(20);
        chunk = new Chunk("Estagiário: ");
        paragrafo.add(chunk);
        chunk = new Chunk(nomeEstagiario);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);
        chunk = new Chunk("\nProfessor Orientador: ");
        paragrafo.add(chunk);
        chunk = new Chunk(nomeOrientador);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);
        chunk = new Chunk("\nEmpresa: ");
        paragrafo.add(chunk);
        chunk = new Chunk(nomeConcedente);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);
        chunk = new Chunk("\nSupervisor: ");
        paragrafo.add(chunk);
        chunk = new Chunk(nomeSupervisor);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);
        chunk = new Chunk("\nPeríodo: ");
        paragrafo.add(chunk);
        chunk = new Chunk(periodoInicio);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);
        chunk = new Chunk(" a ");
        paragrafo.add(chunk);
        chunk = new Chunk(periodoFim);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);
        chunk = new Chunk("\nBolsa ou outra forma de contraprestação: ");
        paragrafo.add(chunk);
        if (valorAuxilioTransporte + valorBolsa > 0) {
            chunk = new Chunk("Sim");
        } else {
            chunk = new Chunk("Não");
        }
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        document.add(paragrafo);

        //01)	ASPECTOS INTERPESSOAIS
        paragrafo = new Paragraph(null, FontFactory.getFont(FontFactory.TIMES_ROMAN, 12));
        paragrafo.setSpacingAfter(20);
        chunk = new Chunk("01)  ASPECTOS INTERPESSOAIS", FontFactory.getFont(FontFactory.TIMES_BOLD, 12));
        paragrafo.add(chunk);
        chunk = new Chunk(" (Notas de 1 a 5)");
        paragrafo.add(chunk);

        PdfPTable tabela = new PdfPTable(new float[]{9, 1});
        tabela.setWidthPercentage(100.0f);
        PdfPCell celula = new PdfPCell();
        celula.setPhrase(new Phrase("Quesito", FontFactory.getFont(FontFactory.TIMES_BOLD, 12)));
        celula.setBackgroundColor(BaseColor.LIGHT_GRAY);
        celula.setHorizontalAlignment(Element.ALIGN_CENTER);
        tabela.addCell(celula);
        celula.setPhrase(new Phrase("Nota", FontFactory.getFont(FontFactory.TIMES_BOLD, 12)));
        tabela.addCell(celula);
        tabela.addCell(new Phrase("1. O relacionamento com os superiores", FontFactory.getFont(FontFactory.TIMES_ROMAN, 10)));
        tabela.addCell(String.valueOf(ai1));
        tabela.addCell(new Phrase("2. O relacionamento com o(s) supervisor(es) na empresa", FontFactory.getFont(FontFactory.TIMES_ROMAN, 10)));
        tabela.addCell(String.valueOf(ai2));
        tabela.addCell(new Phrase("3. O relacionamento com os colegas de estágio", FontFactory.getFont(FontFactory.TIMES_ROMAN, 10)));
        tabela.addCell(String.valueOf(ai3));
        tabela.addCell(new Phrase("4. O relacionamento com os demais elementos dentro da empresa", FontFactory.getFont(FontFactory.TIMES_ROMAN, 10)));
        tabela.addCell(String.valueOf(ai4));
        tabela.addCell(new Phrase("TOTAL", FontFactory.getFont(FontFactory.TIMES_ROMAN, 10)));
        float resultado1 = ai4 + ai3 + ai2 + ai1;
        tabela.addCell(String.valueOf(resultado1));
        paragrafo.add(tabela);

        document.add(paragrafo);

        //02)	ASPECTOS PESSOAIS
        paragrafo = new Paragraph(null, FontFactory.getFont(FontFactory.TIMES_ROMAN, 12));
        paragrafo.setSpacingAfter(20);
        chunk = new Chunk("02)  ASPECTOS PESSOAIS", FontFactory.getFont(FontFactory.TIMES_BOLD, 12));
        paragrafo.add(chunk);
        chunk = new Chunk(" (Notas de 1 a 5)");
        paragrafo.add(chunk);

        tabela = new PdfPTable(new float[]{9, 1});
        tabela.setWidthPercentage(100.0f);
        celula = new PdfPCell();
        celula.setPhrase(new Phrase("Quesito", FontFactory.getFont(FontFactory.TIMES_BOLD, 12)));
        celula.setBackgroundColor(BaseColor.LIGHT_GRAY);
        celula.setHorizontalAlignment(Element.ALIGN_CENTER);
        tabela.addCell(celula);
        celula.setPhrase(new Phrase("Nota", FontFactory.getFont(FontFactory.TIMES_BOLD, 12)));
        tabela.addCell(celula);
        tabela.addCell(new Phrase("1. Assiduidade. Assiduidade e pontualidade aos expedientes diários na empresa", FontFactory.getFont(FontFactory.TIMES_ROMAN, 10)));
        tabela.addCell(String.valueOf(ap1));
        tabela.addCell(new Phrase("2. Disciplina. Facilidade em aceitar e seguir instruções de superiores e acatar regulamentos e normas", FontFactory.getFont(FontFactory.TIMES_ROMAN, 10)));
        tabela.addCell(String.valueOf(ap2));
        tabela.addCell(new Phrase("3. Sociabilidade e desembaraço. Facilidade e espontaneidade com que age frente as pessoas, fatos e situações", FontFactory.getFont(FontFactory.TIMES_ROMAN, 10)));
        tabela.addCell(String.valueOf(ap3));
        tabela.addCell(new Phrase("4. Cooperação. Atuação junto a outras pessoas no sentido de contribuir para o alcance de um objetivo comum: influência positiva no grupo", FontFactory.getFont(FontFactory.TIMES_ROMAN, 10)));
        tabela.addCell(String.valueOf(ap4));
        tabela.addCell(new Phrase("5. Responsabilidade. Capacidade de cuidar e responder pelas atribuições materiais, equipamentos e bens da empresa, que lhe são confiados no estágio", FontFactory.getFont(FontFactory.TIMES_ROMAN, 10)));
        tabela.addCell(String.valueOf(ap5));
        tabela.addCell(new Phrase("6. Merecimento de confiança. Discrição demonstrada quanto ao sigilo das atividades a ele confiados", FontFactory.getFont(FontFactory.TIMES_ROMAN, 10)));
        tabela.addCell(String.valueOf(ap6));
        tabela.addCell(new Phrase("TOTAL", FontFactory.getFont(FontFactory.TIMES_ROMAN, 10)));
        float resultado2 = ap5 + ap6 + ap4 + ap3 + ap2 + ap1;
        tabela.addCell(String.valueOf(resultado2));
        paragrafo.add(tabela);

        document.add(paragrafo);

        //03)	ASPECTOS TÉCNICOS-PROFISSIONAIS
        paragrafo = new Paragraph(null, FontFactory.getFont(FontFactory.TIMES_ROMAN, 12));
        paragrafo.setSpacingAfter(20);
        chunk = new Chunk("03)  ASPECTOS TÉCNICOS-PROFISSIONAIS", FontFactory.getFont(FontFactory.TIMES_BOLD, 12));
        paragrafo.add(chunk);
        chunk = new Chunk(" (Notas de 1 a 5)");
        paragrafo.add(chunk);

        tabela = new PdfPTable(new float[]{9, 1});
        tabela.setWidthPercentage(100.0f);
        celula = new PdfPCell();
        celula.setPhrase(new Phrase("Quesito", FontFactory.getFont(FontFactory.TIMES_BOLD, 12)));
        celula.setBackgroundColor(BaseColor.LIGHT_GRAY);
        celula.setHorizontalAlignment(Element.ALIGN_CENTER);
        tabela.addCell(celula);
        celula.setPhrase(new Phrase("Nota", FontFactory.getFont(FontFactory.TIMES_BOLD, 12)));
        tabela.addCell(celula);
        tabela.addCell(new Phrase("1. Rendimento do estagiário. Qualidade, rapidez, precisão com que executa as tarefas integrantes do programa de estágio", FontFactory.getFont(FontFactory.TIMES_ROMAN, 10)));
        tabela.addCell(String.valueOf(atp1));
        tabela.addCell(new Phrase("2. Facilidade na compreensão. Rapidez e facilidade de entender, interpretar e pôr em prática instruções e informações verbais e escritas", FontFactory.getFont(FontFactory.TIMES_ROMAN, 10)));
        tabela.addCell(String.valueOf(atp2));
        tabela.addCell(new Phrase("3. Conhecimentos teóricos. Conhecimento demonstrado no cumprimento do programa de estágio, tendo em vista sua escolaridade", FontFactory.getFont(FontFactory.TIMES_ROMAN, 10)));
        tabela.addCell(String.valueOf(atp3));
        tabela.addCell(new Phrase("4. Interesse. Mostrar interesse pelo andamento do trabalho. Disponibilidade para realizar tarefas voluntárias", FontFactory.getFont(FontFactory.TIMES_ROMAN, 10)));
        tabela.addCell(String.valueOf(atp4));
        tabela.addCell(new Phrase("5. Organização e método no trabalho. Uso de meios racionais visando melhorar a forma de executar o trabalho", FontFactory.getFont(FontFactory.TIMES_ROMAN, 10)));
        tabela.addCell(String.valueOf(atp5));
        tabela.addCell(new Phrase("6. Criatividade. Capacidade de sugerir, projetar ou exercer modificações ou inovações na empresa. Capacidade de adaptar conteúdo teórico à prática", FontFactory.getFont(FontFactory.TIMES_ROMAN, 10)));
        tabela.addCell(String.valueOf(atp6));
        tabela.addCell(new Phrase("TOTAL", FontFactory.getFont(FontFactory.TIMES_ROMAN, 10)));
        float resultado3 = atp5 + atp6 + atp4 + atp3 + atp2 + atp1;
        tabela.addCell(String.valueOf(resultado3));
        paragrafo.add(tabela);

        document.add(paragrafo);

        //04) comente
        paragrafo = new Paragraph(null, FontFactory.getFont(FontFactory.TIMES_ROMAN, 12));
        paragrafo.setSpacingAfter(20);
        chunk = new Chunk("04)  COMENTE SOBRE OS ASSUNTOS ABAIXO\n", FontFactory.getFont(FontFactory.TIMES_BOLD, 12));
        paragrafo.add(chunk);
        if (isEstagiario) {
            chunk = new Chunk("        04.1)  Como você qualificaria o aproveitamento do seu estágio?\n");
            paragrafo.add(chunk);
            chunk = new Chunk(c4_1);
            chunk.setUnderline(0.1f, -2f);
            paragrafo.add(chunk);
            chunk = new Chunk("\n\n        04.2)  Qual o grau de contribuição do estágio para sua formação profissional?\n");
        } else {
            chunk = new Chunk("        04.1)  Recomenda o prosseguimento do estágio? Em caso negativo, comente e sugira providências: (preencher apenas no caso em que o estágio não tenha sido concluído)\n");
            paragrafo.add(chunk);
            chunk = new Chunk(c4_1);
            chunk.setUnderline(0.1f, -2f);
            paragrafo.add(chunk);
            chunk = new Chunk("\n\n        04.2)  Recomenda outros estagiários na empresa? Por que?\n");
        }
        paragrafo.add(chunk);
        chunk = new Chunk(c4_2);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);
        chunk = new Chunk("\n\n        04.3)  Observaçõess e sugestões que julgar úteis\n");
        paragrafo.add(chunk);
        chunk = new Chunk(sugestoes);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        document.add(paragrafo);

        //resultados finais
        paragrafo = new Paragraph(null, FontFactory.getFont(FontFactory.TIMES_ROMAN, 12));
        paragrafo.setSpacingAfter(20);

        tabela = new PdfPTable(new float[]{9, 1});
        tabela.setWidthPercentage(100.0f);
        celula = new PdfPCell();
        celula.setPhrase(new Phrase("Resultados", FontFactory.getFont(FontFactory.TIMES_BOLD, 12)));
        celula.setBackgroundColor(BaseColor.LIGHT_GRAY);
        celula.setHorizontalAlignment(Element.ALIGN_CENTER);
        tabela.addCell(celula);
        celula.setPhrase(new Phrase("Nota", FontFactory.getFont(FontFactory.TIMES_BOLD, 12)));
        tabela.addCell(celula);
        tabela.addCell(new Phrase("Resultado I multiplicado por 2", FontFactory.getFont(FontFactory.TIMES_ROMAN, 10)));
        tabela.addCell(String.valueOf(resultado1 * 2));
        tabela.addCell(new Phrase("Resultado II multiplicado por 3", FontFactory.getFont(FontFactory.TIMES_ROMAN, 10)));
        tabela.addCell(String.valueOf(resultado2 * 3));
        tabela.addCell(new Phrase("Resultado III multiplicado por 5", FontFactory.getFont(FontFactory.TIMES_ROMAN, 10)));
        tabela.addCell(String.valueOf(resultado3 * 5));
        tabela.addCell(new Phrase("Total Geral", FontFactory.getFont(FontFactory.TIMES_ROMAN, 10)));
        tabela.addCell(String.valueOf(resultado3 * 5 + resultado1 * 2 + resultado2 * 3));
        paragrafo.add(tabela);

        document.add(paragrafo);

        //Assinaturas
        paragrafo = new Paragraph(null, FontFactory.getFont(FontFactory.TIMES_ROMAN, 9));
        paragrafo.setAlignment(Element.ALIGN_CENTER);
        chunk = new Chunk("\nLocal: _________________________________      Data: _________________________________\n\n\n");
        paragrafo.add(chunk);

        if (isEstagiario) {
            chunk = new Chunk("                              Estagiário                              ");
        } else {
            chunk = new Chunk("                              Supervisor                              ");
        }
        chunk.setUnderline(0.1f, 10f);
        paragrafo.add(chunk);

        document.add(paragrafo);

        document.close();
        return true;
    }

    public static Boolean gerarTermoCompromisso(boolean isObrigatorio, double valorBolsa, double valorAuxilioTransporte, String nApoliceSeguro, String empresaApoliceSeguro, String tema, String area, double cargaHorariaDiaria, double cargaHorariaSemanal, double cargaHorariaTotalPrevista, String inicioPrevisto, String terminoPrevisto, String justificativa, String objetivo, String metodologia, String nomeConcedente, String pessoaConcedente, String cpfCnpjConcedente, String ruaConcedente, int nRuaConcedente, String bairroConcedente, String cidadeConcedente, String ufConcedente, String cepConcedente, String telefoneConcedente, String ramalConcedente, String faxConcedente, String emailConcedente, String representanteLegalConcedente, boolean isConveniadoConcedente, String nomeOrientador, String nomeSupervisor, String telefoneSupervisor, String ramalSupervisor, String faxSupervisor, String emailSupervisor, String cargo, String formacaoExperienciaProfissional, String nomeEstagiario, String cursoEstagiario, String unidadeSetorialEstagiario, int semestreEstagiario, String rgaEstagiario, String cpfEstagiario, String rgEstagiario, String orgaoExpedidorEstagiario, String nacionalidadeEstagiario, String ruaEstagiario, int nRuaEstagiario, String bairroEstagiario, String cepEstagiario, String cidadeEstagiario, String ufEstagiario, String telefoneEstagiario, String telefoneRecadoEstagiario, String emailEstagiario) throws DocumentException, FileNotFoundException {
        //Instanciação do Objeto do Documento        
        Document document = new Document(PageSize.A4, 50, 50, 90, 50);
        //Criação de Objeto PdfWriter
        PdfWriter writer;
        if (isObrigatorio) {
            writer = PdfWriter.getInstance(document, new FileOutputStream("TermoObrigatorio.pdf"));
        } else {
            writer = PdfWriter.getInstance(document, new FileOutputStream("TermoNaoObrigatorio.pdf"));
        }
        HeaderFooter2 event = new HeaderFooter2();
        writer.setPageEvent(event);
        document.open();

        //titulo
        Paragraph paragrafo = new Paragraph(null, FontFactory.getFont(FontFactory.TIMES_ROMAN, 9));
        paragrafo.setAlignment(Element.ALIGN_CENTER);
        paragrafo.setSpacingAfter(10);
        Chunk chunk;
        if (isObrigatorio) {
            chunk = new Chunk("TERMO DE COMPROMISSO DE ESTÁGIO OBRIGATÓRIO", FontFactory.getFont(FontFactory.TIMES_BOLD));
        } else {
            chunk = new Chunk("TERMO DE COMPROMISSO DE ESTÁGIO NÃO-OBRIGATÓRIO", FontFactory.getFont(FontFactory.TIMES_BOLD));
        }
        paragrafo.add(chunk);
        document.add(paragrafo);

        //intro
        paragrafo = new Paragraph(null, FontFactory.getFont(FontFactory.TIMES_ROMAN, 9));
        paragrafo.setSpacingAfter(10);
        chunk = new Chunk("Pelo presente instrumento, firmado nos termo da Lei n. 11.788, de 25 de setembro de 2008 e da Resolução COEG n. 107, de 16 de junho de 2010, as partes identificadas abaixo:");
        paragrafo.add(chunk);

        document.add(paragrafo);

        //estagiario
        paragrafo = new Paragraph(null, FontFactory.getFont(FontFactory.TIMES_ROMAN, 9));
        paragrafo.setSpacingAfter(10);
        chunk = new Chunk("ESTAGIÁRIO", FontFactory.getFont(FontFactory.TIMES_BOLD));
        paragrafo.add(chunk);

        chunk = new Chunk("\nNome: ");
        paragrafo.add(chunk);
        chunk = new Chunk(nomeEstagiario);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);
        chunk = new Chunk("  Curso: ");
        paragrafo.add(chunk);
        chunk = new Chunk(cursoEstagiario + '/' + unidadeSetorialEstagiario);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);
        chunk = new Chunk("  Semestre: ");
        paragrafo.add(chunk);
        chunk = new Chunk(String.valueOf(semestreEstagiario));
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        chunk = new Chunk("\nRGA: ");
        paragrafo.add(chunk);
        chunk = new Chunk(rgaEstagiario);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);
        chunk = new Chunk("  CPF: ");
        paragrafo.add(chunk);
        chunk = new Chunk(cpfEstagiario);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);
        chunk = new Chunk("  RG: ");
        paragrafo.add(chunk);
        chunk = new Chunk(rgEstagiario);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);
        chunk = new Chunk("  Órgão Expedidor: ");
        paragrafo.add(chunk);
        chunk = new Chunk(orgaoExpedidorEstagiario);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        chunk = new Chunk("\nNacionalidade: ");
        paragrafo.add(chunk);
        chunk = new Chunk(nacionalidadeEstagiario);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);
        chunk = new Chunk("  Endereço: ");
        paragrafo.add(chunk);
        chunk = new Chunk(ruaEstagiario);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);
        chunk = new Chunk("  nº: ");
        paragrafo.add(chunk);
        chunk = new Chunk(String.valueOf(nRuaEstagiario));
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);
        chunk = new Chunk("  Bairro: ");
        paragrafo.add(chunk);
        chunk = new Chunk(bairroEstagiario);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);
        chunk = new Chunk("  CEP: ");
        paragrafo.add(chunk);
        chunk = new Chunk(cepEstagiario);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        chunk = new Chunk("\nCidade: ");
        paragrafo.add(chunk);
        chunk = new Chunk(cidadeEstagiario);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);
        chunk = new Chunk("  UF: ");
        paragrafo.add(chunk);
        chunk = new Chunk(ufEstagiario);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);
        chunk = new Chunk("  Telefone: ");
        paragrafo.add(chunk);
        chunk = new Chunk(telefoneEstagiario);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);
        chunk = new Chunk("  Recado: ");
        paragrafo.add(chunk);
        chunk = new Chunk(telefoneRecadoEstagiario);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);
        chunk = new Chunk("  e-Mail: ");
        paragrafo.add(chunk);
        chunk = new Chunk(emailEstagiario);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        chunk = new Chunk("\nNº da apólice do seguro: ");
        paragrafo.add(chunk);
        chunk = new Chunk(nApoliceSeguro);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);
        chunk = new Chunk(", da empresa ");
        paragrafo.add(chunk);
        chunk = new Chunk(empresaApoliceSeguro);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        document.add(paragrafo);

        //concedente
        paragrafo = new Paragraph(null, FontFactory.getFont(FontFactory.TIMES_ROMAN, 9));
        paragrafo.setSpacingAfter(10);
        chunk = new Chunk("CONCEDENTE", FontFactory.getFont(FontFactory.TIMES_BOLD));
        paragrafo.add(chunk);

        chunk = new Chunk("\nNome: ");
        paragrafo.add(chunk);
        chunk = new Chunk(nomeConcedente);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);
        chunk = new Chunk("  Pessoa: ");
        paragrafo.add(chunk);
        chunk = new Chunk(pessoaConcedente);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);
        chunk = new Chunk("  CNPJ/CPF: ");
        paragrafo.add(chunk);
        chunk = new Chunk(cpfCnpjConcedente);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);
        chunk = new Chunk("\nEndereço: ");
        paragrafo.add(chunk);
        chunk = new Chunk(ruaConcedente);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);
        chunk = new Chunk("  nº: ");
        paragrafo.add(chunk);
        chunk = new Chunk(String.valueOf(nRuaConcedente));
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);
        chunk = new Chunk("  Bairro: ");
        paragrafo.add(chunk);
        chunk = new Chunk(bairroConcedente);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);
        chunk = new Chunk("  CEP: ");
        paragrafo.add(chunk);
        chunk = new Chunk(cepConcedente);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        chunk = new Chunk("\nCidade: ");
        paragrafo.add(chunk);
        chunk = new Chunk(cidadeConcedente);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);
        chunk = new Chunk("  UF: ");
        paragrafo.add(chunk);
        chunk = new Chunk(ufConcedente);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);
        chunk = new Chunk("  Telefone: ");
        paragrafo.add(chunk);
        chunk = new Chunk(telefoneConcedente);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);
        chunk = new Chunk("  e-Mail: ");
        paragrafo.add(chunk);
        chunk = new Chunk(emailConcedente);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);
        chunk = new Chunk("  Representante legal: ");
        paragrafo.add(chunk);
        chunk = new Chunk(representanteLegalConcedente);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        document.add(paragrafo);

        //instituicao de ensino
        paragrafo = new Paragraph(null, FontFactory.getFont(FontFactory.TIMES_ROMAN, 9));
        paragrafo.setSpacingAfter(10);
        chunk = new Chunk("INSTITUIÇÃO DE ENSINO", FontFactory.getFont(FontFactory.TIMES_BOLD));
        paragrafo.add(chunk);

        chunk = new Chunk("\nFundação Universidade Federal de Mato Grosso do Sul (UFMS), Pessoa Jurídica de Direito Público, inscrita sob o CNPJ 15.461.510/0001-33, com sede na Cidade Universitária s/nº, CEP: 79070-900, em Campo Grande – MS, representada legalmente por Célia Maria Silva Correa Oliveira.");
        paragrafo.add(chunk);

        document.add(paragrafo);

        //paragrafo
        paragrafo = new Paragraph(null, FontFactory.getFont(FontFactory.TIMES_ROMAN, 9));
        paragrafo.setSpacingAfter(10);
        chunk = new Chunk("Tem entre si, justo e acordado, o presente Termo de Compromisso de Estágio mediante as seguintes cláusulas e condições:");
        paragrafo.add(chunk);

        document.add(paragrafo);

        //DAS DISPOSIÇÕES GERAIS
        paragrafo = new Paragraph(null, FontFactory.getFont(FontFactory.TIMES_ROMAN, 9));
        paragrafo.setSpacingAfter(10);
        chunk = new Chunk("DAS DISPOSIÇÕES GERAIS", FontFactory.getFont(FontFactory.TIMES_BOLD));
        paragrafo.add(chunk);

        chunk = new Chunk("\n        Cláusula 1ª. ", FontFactory.getFont(FontFactory.TIMES_BOLD));
        paragrafo.add(chunk);
        chunk = new Chunk("Para efeito deste instrumento, considera-se Estágio as atividades de aprendizagem supervisionada no ambiente de trabalho, proporcionadas ao ESTAGIÁRIO, pela participação em situações reais de vida e trabalho, realizadas junto à CONCEDENTE, sob orientação da INSTITUIÇÃO DE ENSINO, ora interveniente.");
        paragrafo.add(chunk);

        chunk = new Chunk("\n        Cláusula 2ª. ", FontFactory.getFont(FontFactory.TIMES_BOLD));
        paragrafo.add(chunk);
        chunk = new Chunk("O ESTAGIÁRIO declara estar regularmente matriculado e com frequência no curso ministrado pela INSTITUIÇÃO DE ENSINO.");
        paragrafo.add(chunk);

        chunk = new Chunk("\n        Cláusula 3ª. ", FontFactory.getFont(FontFactory.TIMES_BOLD));
        paragrafo.add(chunk);
        chunk = new Chunk("Este Termo de Compromisso, para todos os efeitos legais, está vinculado ao Acordo de Cooperação, celebrado entre a INSTITUIÇÃO DE ENSINO e a CONCEDENTE.");
        paragrafo.add(chunk);

        chunk = new Chunk("\n        Cláusula 4ª. ", FontFactory.getFont(FontFactory.TIMES_BOLD));
        paragrafo.add(chunk);
        chunk = new Chunk("O descumprimento de qualquer dos incisos do artigo 3ª da Lei n. 11788/2008 ou de qualquer obrigação contida neste Termo de Compromisso, caracteriza vínculo empregatício entre o ESTAGIÁRIO e a CONCEDENTE, para todos os fins da Legislação Trabalhista e Previdenciária.");
        paragrafo.add(chunk);

        chunk = new Chunk("\n        Cláusula 5ª. ", FontFactory.getFont(FontFactory.TIMES_BOLD));
        paragrafo.add(chunk);
        chunk = new Chunk("É vedada, no exercício do estágio, a realização de qualquer atividade em área não compatível com o curso.");
        paragrafo.add(chunk);

        document.add(paragrafo);

        //DO OBJETO
        paragrafo = new Paragraph(null, FontFactory.getFont(FontFactory.TIMES_ROMAN, 9));
        paragrafo.setSpacingAfter(10);
        chunk = new Chunk("DO OBJETO", FontFactory.getFont(FontFactory.TIMES_BOLD));
        paragrafo.add(chunk);

        chunk = new Chunk("\n        Cláusula 6ª. ", FontFactory.getFont(FontFactory.TIMES_BOLD));
        paragrafo.add(chunk);
        chunk = new Chunk("Este Termo de Compromisso tem por objetivo estabelecer e regulamentar a admissão do ESTAGIÁRIO, através da concessão de estágio pela CONCEDENTE, nos termos da Lei nº. 11.788/2008 e da Resolução COEG/UFMS nº 107/2010.");
        paragrafo.add(chunk);

        document.add(paragrafo);

        //DAS ATIVIDADES A SEREM EXECUTADAS PELO ESTAGIÁRIO
        paragrafo = new Paragraph(null, FontFactory.getFont(FontFactory.TIMES_ROMAN, 9));
        paragrafo.setSpacingAfter(10);
        chunk = new Chunk("DAS ATIVIDADES A SEREM EXECUTADAS PELO ESTAGIÁRIO", FontFactory.getFont(FontFactory.TIMES_BOLD));
        paragrafo.add(chunk);

        chunk = new Chunk("\n        Cláusula 7ª. ", FontFactory.getFont(FontFactory.TIMES_BOLD));
        paragrafo.add(chunk);
        chunk = new Chunk("As atividades a serem exercidas pelo ESTAGIÁRIO estão descritas no Plano de Atividade do Estagiário, em anexo, e devem ser compatíveis com a proposta pedagógica do curso.");
        paragrafo.add(chunk);

        chunk = new Chunk("\n        Cláusula 8ª. ", FontFactory.getFont(FontFactory.TIMES_BOLD));
        paragrafo.add(chunk);
        chunk = new Chunk("O Plano de Atividades será anexado ao Termo de Compromisso de Estágio sendo parte integrante e indissociável deste.");
        paragrafo.add(chunk);

        document.add(paragrafo);

        //DA JORNADA
        paragrafo = new Paragraph(null, FontFactory.getFont(FontFactory.TIMES_ROMAN, 9));
        paragrafo.setSpacingAfter(10);
        chunk = new Chunk("DA JORNADA", FontFactory.getFont(FontFactory.TIMES_BOLD));
        paragrafo.add(chunk);

        chunk = new Chunk("\n        Cláusula 9ª. ", FontFactory.getFont(FontFactory.TIMES_BOLD));
        paragrafo.add(chunk);
        chunk = new Chunk("A jornada do ESTAGIÁRIO será de ");
        paragrafo.add(chunk);
        chunk = new Chunk(String.valueOf(cargaHorariaDiaria));
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);
        chunk = new Chunk(" horas diárias e ");
        paragrafo.add(chunk);
        chunk = new Chunk(String.valueOf(cargaHorariaSemanal));
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);
        chunk = new Chunk(" horas semanais, garantida a compatibilidade com as atividades escolares.");
        paragrafo.add(chunk);

        chunk = new Chunk("\n        Cláusula 10ª. ", FontFactory.getFont(FontFactory.TIMES_BOLD));
        paragrafo.add(chunk);
        chunk = new Chunk("Se a INSTITUIÇÃO DE ENSINO adotar verificações de aprendizagem periódicas ou finais, o ESTAGIÁRIO terá direito a reduzir pelo menos à metade sua jornada diária, nos períodos de avaliação informados pelo Professor Orientador.");
        paragrafo.add(chunk);

        document.add(paragrafo);

        //DO DIREITO AO RECESSO
        paragrafo = new Paragraph(null, FontFactory.getFont(FontFactory.TIMES_ROMAN, 9));
        paragrafo.setSpacingAfter(10);
        chunk = new Chunk("DO DIREITO AO RECESSO", FontFactory.getFont(FontFactory.TIMES_BOLD));
        paragrafo.add(chunk);

        chunk = new Chunk("\n        Cláusula 11ª. ", FontFactory.getFont(FontFactory.TIMES_BOLD));
        paragrafo.add(chunk);
        if (isObrigatorio) {
            chunk = new Chunk("É assegurado ao ESTAGIÁRIO, sempre que o estágio tenha duração igual ou superior a 1 (um) ano, período de recesso de 30 (trinta) dias, a ser gozado preferencialmente durante suas férias escolares, de acordo com o disposto na Lei nº 11.788/2008, artigo 13.");
        } else {
            chunk = new Chunk("É assegurado ao ESTAGIÁRIO, sempre que o estágio tenha duração igual ou superior a 1 (um) ano, período de recesso remunerado de 30 (trinta) dias, a ser gozado preferencialmente durante suas férias escolares, de acordo com o disposto na Lei nº 11.788/2008, artigo 13.");
        }
        paragrafo.add(chunk);

        chunk = new Chunk("\n        Cláusula 12ª. ", FontFactory.getFont(FontFactory.TIMES_BOLD));
        paragrafo.add(chunk);
        chunk = new Chunk("Os dias de recesso previstos na cláusula anterior serão concedidos de maneira proporcional, nos casos de o estágio ter duração inferior a 1 (um) ano.");
        paragrafo.add(chunk);

        chunk = new Chunk("\n        Cláusula 13ª. ", FontFactory.getFont(FontFactory.TIMES_BOLD));
        paragrafo.add(chunk);
        chunk = new Chunk("Compete à CONCEDENTE estipular o período de concessão do recesso, preferencialmente durante as férias escolares.");
        paragrafo.add(chunk);

        document.add(paragrafo);

        //DOS DEVERES DAS PARTES
        paragrafo = new Paragraph(null, FontFactory.getFont(FontFactory.TIMES_ROMAN, 9));
        paragrafo.setSpacingAfter(10);
        chunk = new Chunk("DOS DEVERES DAS PARTES", FontFactory.getFont(FontFactory.TIMES_BOLD));
        paragrafo.add(chunk);

        chunk = new Chunk("\n        Cláusula 14ª. ", FontFactory.getFont(FontFactory.TIMES_BOLD));
        paragrafo.add(chunk);
        chunk = new Chunk("Da INSTITUIÇÃO DE ENSINO:\n"
                + "                a) avaliar as instalações da CONCEDENTE do estágio e sua adequação à formação cultural e profissional do acadêmico;\n"
                + "                b) indicar Professor Orientador, como responsável pelo acompanhamento e avaliação das atividades do estagiário;\n"
                + "                c) exigir do acadêmico a apresentação periódica, em prazo não superior a 6 (seis) meses, do relatório das atividades;\n"
                + "                d) zelar pelo cumprimento do Termo de Compromisso;\n");
        paragrafo.add(chunk);
        if (isObrigatorio) {
            chunk = new Chunk("                e) comunicar à CONCEDENTE, no início do período letivo, as datas de realização das avaliações.\n"
                    + "                f) contratar em favor do ESTAGIÁRIO seguro contra acidentes pessoais.");
        } else {
            chunk = new Chunk("                e) comunicar à CONCEDENTE, no início do período letivo, as datas de realização das avaliações;\n");
        }
        paragrafo.add(chunk);

        chunk = new Chunk("\n        Cláusula 15ª. ", FontFactory.getFont(FontFactory.TIMES_BOLD));
        paragrafo.add(chunk);
        chunk = new Chunk("Da CONCEDENTE:\n"
                + "                a) celebrar o Termo de Compromisso de Estágio com o ESTAGIÁRIO e a INSTITUIÇÃO DE ENSINO, zelando pelo seu fiel cumprimento;\n"
                + "                b) permitir o início das atividades de Estágio somente após o recebimento deste instrumento assinado pelos partícipes;\n"
                + "                c) conceder o Estágio e proporcionar ao ESTAGIÁRIO condições propícias para o exercício das atividades de aprendizagem relacionadas ao seu curso;\n"
                + "                d) designar funcionário de seu quadro de pessoal, com formação ou experiência profissional na área de conhecimento do curso do ESTAGIÁRIO, para atuar como Supervisor de Estágio, orientando e supervisionando o ESTAGIÁRIO;\n"
                + "                e) manter à disposição da fiscalização documentos que comprovem a relação de estágio;\n"
                + "                f) enviar à INSTITUIÇÃO DE ENSINO, no máximo a cada 6 (seis) meses, relatório parcial de atividades, com vista obrigatória ao ESTAGIÁRIO;\n"
                + "                g) fornecer à instituição de ensino todas as informações necessárias à avaliação e acompanhamento do estágio, quando solicitado;\n"
                + "                h) solicitar ao ESTAGIÁRIO, a qualquer tempo, documentos comprobatórios da regularidade da situação escolar, uma vez que trancamento de matrícula, abandono, conclusão de curso ou transferência de Instituição de Ensino constituem motivos de rescisão;\n"
                + "                i) manter à disposição da fiscalização os documentos que comprovem a relação de Estágio;\n"
                + "                j) por ocasião do desligamento do estagiário, entregar ao Professor Orientador, relatório final de atividades do acadêmico, com indicação resumida das atividades desenvolvidas, dos períodos e da avaliação de desempenho;\n");
        paragrafo.add(chunk);
        if (isObrigatorio) {
            chunk = new Chunk("                k) informar à INSTITUIÇÃO DE ENSINO os casos de descumprimento ao estabelecido neste termo.");
        } else {
            chunk = new Chunk("                k) contratar em favor do ESTAGIÁRIO seguro contra acidentes pessoais;\n"
                    + "                l) pagar pontualmente a bolsa e o auxílio transporte diretamente ao ESTAGIÁRIO;\n"
                    + "                m) informar à INSTITUIÇÃO DE ENSINO os casos de descumprimento ao estabelecido neste termo.");
        }
        paragrafo.add(chunk);

        chunk = new Chunk("\n        Cláusula 16ª. ", FontFactory.getFont(FontFactory.TIMES_BOLD));
        paragrafo.add(chunk);
        chunk = new Chunk("Do ESTAGIÁRIO:\n"
                + "                a) cumprir com zelo e responsabilidade as tarefas que lhe forem submetidas, conforme o Plano de Atividades;\n"
                + "                b) cumprir as condições fixadas para o Estágio, observando as normas de trabalho vigente na CONCEDENTE, preservando a confidencialidade das informações às quais tenham acesso;\n"
                + "                c) observar a jornada e o horário ajustados para o Estágio;\n"
                + "                d) manter atualizados seus dados cadastrais e escolares, junto à CONCEDENTE;\n"
                + "                e) informar de imediato à CONCEDENTE, qualquer alteração na sua situação escolar, tais como: trancamento de matrícula, abandono, conclusão de curso ou transferência de Instituição de Ensino;\n"
                + "                f) entregar ao j) assinar, ao término do estágio, o termo de desligamento, a ser fornecido pela CONCEDENTE.Professor Orientador os relatórios parciais de atividades, com periodicidade não superior a seis meses, e o relatório final de atividades, ao final do estágio, ambos com visto do supervisor;\n"
                + "                g) entregar à CONCEDENTE, durante a vigência deste termo, a cada início de semestre letivo, declaração atualizada da INSTITUIÇÃO DE ENSINO atestando a sua matrícula e regular frequência;\n"
                + "                h) acatar as normas internas da CONCEDENTE, bem como orientações e recomendações efetuadas por seu Supervisor;\n"
                + "                i) responder pelas perdas e danos eventualmente causados por inobservância das normas internas da CONCEDENTE, ou provocados por negligência ou imprudência;\n"
                + "                j) assinar, ao término do estágio, o termo de desligamento, a ser fornecido pela CONCEDENTE.\n");
        paragrafo.add(chunk);

        document.add(paragrafo);

        //DO PROFESSOR ORIENTADOR E DO SUPERVISOR DE ESTÁGIO
        paragrafo = new Paragraph(null, FontFactory.getFont(FontFactory.TIMES_ROMAN, 9));
        paragrafo.setSpacingAfter(10);
        chunk = new Chunk("DO PROFESSOR ORIENTADOR E DO SUPERVISOR DE ESTÁGIO", FontFactory.getFont(FontFactory.TIMES_BOLD));
        paragrafo.add(chunk);
        chunk = new Chunk("\n        Cláusula 17ª. ", FontFactory.getFont(FontFactory.TIMES_BOLD));
        paragrafo.add(chunk);
        chunk = new Chunk("O ESTAGIÁRIO terá acompanhamento direto na prática de suas atividades, durante o período integral de sua realização, no local do estágio, pelo Supervisor de Estágio ");
        paragrafo.add(chunk);
        chunk = new Chunk(nomeSupervisor);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);
        chunk = new Chunk(", que ocupa o cargo ");
        paragrafo.add(chunk);
        chunk = new Chunk(cargo);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);
        chunk = new Chunk(", com formação ou experiência profissional em ");
        paragrafo.add(chunk);
        chunk = new Chunk(formacaoExperienciaProfissional);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);
        chunk = new Chunk(".");
        paragrafo.add(chunk);

        chunk = new Chunk("\n        Cláusula 18ª. ", FontFactory.getFont(FontFactory.TIMES_BOLD));
        paragrafo.add(chunk);
        chunk = new Chunk("O ESTAGIÁRIO terá orientação do Professor Orientador ");
        paragrafo.add(chunk);
        chunk = new Chunk(nomeOrientador);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);
        chunk = new Chunk(".");
        paragrafo.add(chunk);

        document.add(paragrafo);

        //DA BOLSA AUXÍLIO E DO AUXÍLIO TRANSPORTE
        paragrafo = new Paragraph(null, FontFactory.getFont(FontFactory.TIMES_ROMAN, 9));
        paragrafo.setSpacingAfter(10);
        chunk = new Chunk("DA BOLSA AUXÍLIO E DO AUXÍLIO TRANSPORTE", FontFactory.getFont(FontFactory.TIMES_BOLD));
        paragrafo.add(chunk);
        chunk = new Chunk("\n        Cláusula 19ª. ", FontFactory.getFont(FontFactory.TIMES_BOLD));
        paragrafo.add(chunk);

        if (isObrigatorio) {
            chunk = new Chunk("É facultada a concessão de bolsa mensal e de auxílio transporte.");
            paragrafo.add(chunk);
            document.add(paragrafo);
            paragrafo = new Paragraph(null, FontFactory.getFont(FontFactory.TIMES_ROMAN, 9));
            paragrafo.setSpacingAfter(10);
            chunk = new Chunk("DO VÍNCULO", FontFactory.getFont(FontFactory.TIMES_BOLD));
            paragrafo.add(chunk);
            chunk = new Chunk("\n        Cláusula 20ª. ", FontFactory.getFont(FontFactory.TIMES_BOLD));
            paragrafo.add(chunk);
            chunk = new Chunk("O Estágio não caracteriza vínculo de emprego de qualquer natureza, desde que observados os requisitos legais, não sendo devidos encargos sociais, trabalhistas e previdenciários (Artigos 3º e 15 da Lei nº 11.788/2008).");
        } else {
            chunk = new Chunk("O ESTAGIÁRIO receberá bolsa ou outra forma de contraprestação mensal, no período do estágio, com valor de R$");
            paragrafo.add(chunk);
            chunk = new Chunk(String.valueOf(valorBolsa));
            chunk.setUnderline(0.1f, -2f);
            paragrafo.add(chunk);
            chunk = new Chunk(".");
            paragrafo.add(chunk);
            chunk = new Chunk("\n        Cláusula 20ª. ", FontFactory.getFont(FontFactory.TIMES_BOLD));
            paragrafo.add(chunk);
            chunk = new Chunk("O ESTAGIÁRIO terá direito ao pagamento de R$");
            paragrafo.add(chunk);
            chunk = new Chunk(String.valueOf(valorAuxilioTransporte));
            chunk.setUnderline(0.1f, -2f);
            paragrafo.add(chunk);
            chunk = new Chunk(", a título de ajuda transporte.");
        }
        paragrafo.add(chunk);

        document.add(paragrafo);

        //DA VIGÊNCIA
        paragrafo = new Paragraph(null, FontFactory.getFont(FontFactory.TIMES_ROMAN, 9));
        paragrafo.setSpacingAfter(10);
        chunk = new Chunk("DA VIGÊNCIA", FontFactory.getFont(FontFactory.TIMES_BOLD));
        paragrafo.add(chunk);
        chunk = new Chunk("\n        Cláusula 21ª. ", FontFactory.getFont(FontFactory.TIMES_BOLD));
        paragrafo.add(chunk);
        chunk = new Chunk("O Estágio terá início na data da assinatura deste termo e será válido até ");
        paragrafo.add(chunk);
        chunk = new Chunk(terminoPrevisto);
        chunk.setUnderline(0.1f, -2f);
        chunk = new Chunk(", podendo ser prorrogado, a critério das partes, desde que não ultrapasse 02 (dois) anos, exceto quando se tratar de ESTAGIÁRIO portador de deficiência.");
        paragrafo.add(chunk);
        paragrafo.add(chunk);

        document.add(paragrafo);

        //DA RESCISÃO
        paragrafo = new Paragraph(null, FontFactory.getFont(FontFactory.TIMES_ROMAN, 9));
        paragrafo.setSpacingAfter(10);
        chunk = new Chunk("DA RESCISÃO", FontFactory.getFont(FontFactory.TIMES_BOLD));
        paragrafo.add(chunk);
        chunk = new Chunk("\n        Cláusula 22ª. ", FontFactory.getFont(FontFactory.TIMES_BOLD));
        paragrafo.add(chunk);
        chunk = new Chunk("A rescisão deste termo ocorrerá nos seguintes casos:\n"
                + "                a) conclusão, trancamento, desligamento ou abandono do curso;\n"
                + "                b) transferência para outra Instituição de Ensino;\n"
                + "                c) não comparecimento sem motivo justificado por mais de cinco dias, consecutivos ou não, no período de um mês, ou por trinta dias durante o período de estágio;\n"
                + "                d) descumprimento de qualquer cláusula deste termo e/ou de seus respectivos aditivos;\n"
                + "                e) desistência do Estágio ou rescisão do Termo de Compromisso de Estágio.");
        paragrafo.add(chunk);
        chunk = new Chunk("\n        Cláusula 23ª. ", FontFactory.getFont(FontFactory.TIMES_BOLD));
        paragrafo.add(chunk);
        chunk = new Chunk("A rescisão do presente Termo de Compromisso de Estágio poderá ser feita a qualquer tempo, unilateralmente, mediante comunicação por escrito, feita com cinco dias de antecedência.");
        paragrafo.add(chunk);

        document.add(paragrafo);

        //DO FORO
        paragrafo = new Paragraph(null, FontFactory.getFont(FontFactory.TIMES_ROMAN, 9));
        paragrafo.setSpacingAfter(10);
        chunk = new Chunk("DO FORO", FontFactory.getFont(FontFactory.TIMES_BOLD));
        paragrafo.add(chunk);
        chunk = new Chunk("\n        Cláusula 24ª. ", FontFactory.getFont(FontFactory.TIMES_BOLD));
        paragrafo.add(chunk);
        chunk = new Chunk("Fica eleito o foro da Justiça Federal, 1ª Subseção Judiciária de Mato grosso do Sul – Campo Grande, com renúncia de qualquer outro, por mais privilegiado que seja, para dirimir quaisquer dúvidas ou controvérsias em decorrência do presente Termo de Compromisso de Estágio que não puderem ser decididas diretamente pelos partícipes.");
        paragrafo.add(chunk);

        document.add(paragrafo);

        //paragrafo final
        paragrafo = new Paragraph(null, FontFactory.getFont(FontFactory.TIMES_ROMAN, 9));
        paragrafo.setSpacingAfter(10);
        chunk = new Chunk("E por estarem justas e acordadas, as partes assinam o presente termo de compromisso em 03 vias de igual teor e forma.");

        //Assinaturas
        paragrafo = new Paragraph(null, FontFactory.getFont(FontFactory.TIMES_ROMAN, 9));
        paragrafo.setAlignment(Element.ALIGN_CENTER);
        chunk = new Chunk("\nLocal: _________________________________      Data: _________________________________\n\n\n");
        paragrafo.add(chunk);

        chunk = new Chunk("                              Concedente                              ");
        chunk.setUnderline(0.1f, 10f);
        paragrafo.add(chunk);

        chunk = new Chunk("    ");
        paragrafo.add(chunk);

        chunk = new Chunk("                              Estagiário                              ");
        chunk.setUnderline(0.1f, 10f);
        paragrafo.add(chunk);

        chunk = new Chunk("\n\n\n");
        paragrafo.add(chunk);

        chunk = new Chunk("                         Presidente da COE                        ");
        chunk.setUnderline(0.1f, 10f);
        paragrafo.add(chunk);

        chunk = new Chunk("\n\nTestemunhas:\n\n\n_________________________________________    _________________________________________");
        paragrafo.add(chunk);

        paragrafo.setSpacingAfter(20);
        document.add(paragrafo);

        document.close();

        return true;
    }

    public static Boolean gerarPlanoAtividades(boolean isObrigatorio, double valorBolsa, double valorAuxilioTransporte, String nApoliceSeguro, String empresaApoliceSeguro, String tema, String area, double cargaHorariaDiaria, double cargaHorariaSemanal, double cargaHorariaTotalPrevista, String inicioPrevisto, String terminoPrevisto, String justificativa, String objetivo, String metodologia, String nomeConcedente, String pessoaConcedente, String cpfCnpjConcedente, String ruaConcedente, int nRuaConcedente, String bairroConcedente, String cidadeConcedente, String ufConcedente, String cepConcedente, String telefoneConcedente, String ramalConcedente, String faxConcedente, String emailConcedente, String representanteLegalConcedente, boolean isConveniadoConcedente, String nomeOrientador, String nomeSupervisor, String telefoneSupervisor, String ramalSupervisor, String faxSupervisor, String emailSupervisor, String cargo, String formacaoExperienciaProfissional, String nomeEstagiario, String cursoEstagiario, String unidadeSetorialEstagiario, int semestreEstagiario, String rgaEstagiario, String cpfEstagiario, String rgEstagiario, String orgaoExpedidorEstagiario, String nacionalidadeEstagiario, String ruaEstagiario, int nRuaEstagiario, String bairroEstagiario, String cepEstagiario, String cidadeEstagiario, String ufEstagiario, String telefoneEstagiario, String telefoneRecadoEstagiario, String emailEstagiario) throws DocumentException, FileNotFoundException, BadElementException, MalformedURLException, IOException {
        //Instanciação do Objeto do Documento        
        Document document = new Document(PageSize.A4, 50, 50, 50, 50);
        //Criação de Objeto PdfWriter
        PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("PlanoAtividades.pdf"));
        HeaderFooter event = new HeaderFooter();
        writer.setPageEvent(event);
        document.open();

        //Cabecalho
        Paragraph paragrafo = new Paragraph("PLANO DE ATIVIDADES DO ESTAGIÁRIO", FontFactory.getFont(FontFactory.TIMES_ROMAN, 18, Font.BOLD));
        paragrafo.setAlignment(Element.ALIGN_CENTER);
        paragrafo.setSpacingAfter(2);
        document.add(paragrafo);

        Chunk chunk = new Chunk("                                                                                                                                            ");
        chunk.setUnderline(0.1f, 0f);
        chunk.setUnderline(0.1f, 2f);
        paragrafo = new Paragraph(chunk);
        paragrafo.setAlignment(Element.ALIGN_CENTER);
        paragrafo.setSpacingAfter(10);
        document.add(paragrafo);

        paragrafo = new Paragraph(null, FontFactory.getFont(FontFactory.TIMES_ROMAN, 12));
        chunk = new Chunk("Curso: ");
        paragrafo.add(chunk);
        chunk = new Chunk(cursoEstagiario);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        chunk = new Chunk("\nModalidade de estágio: ");
        paragrafo.add(chunk);
        if (isObrigatorio) {
            chunk = new Chunk("Obrigatório");
        } else {
            chunk = new Chunk("Não-obrigatório");
        }
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        paragrafo.setSpacingAfter(20);
        document.add(paragrafo);

        //estagiario       
        paragrafo = new Paragraph(null, FontFactory.getFont(FontFactory.TIMES_ROMAN, 12));
        chunk = new Chunk("1)    IDENTIFICAÇÃO DO ESTAGIÁRIO", FontFactory.getFont(FontFactory.TIMES_BOLD));
        paragrafo.add(chunk);

        chunk = new Chunk("\n         Nome: ");
        paragrafo.add(chunk);
        chunk = new Chunk(nomeEstagiario);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        chunk = new Chunk("\n         Endereço: ");
        paragrafo.add(chunk);
        chunk = new Chunk(ruaEstagiario + ", n." + nRuaEstagiario + ", " + bairroEstagiario + ", " + cepEstagiario);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        chunk = new Chunk("\n         Telefone: ");
        paragrafo.add(chunk);
        chunk = new Chunk(telefoneEstagiario);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        chunk = new Chunk("\n         e-Mail: ");
        paragrafo.add(chunk);
        chunk = new Chunk(emailEstagiario);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        paragrafo.setSpacingAfter(20);
        document.add(paragrafo);

        //Empresa
        paragrafo = new Paragraph(null, FontFactory.getFont(FontFactory.TIMES_ROMAN, 12));
        chunk = new Chunk("2)    EMPRESA", FontFactory.getFont(FontFactory.TIMES_BOLD));
        paragrafo.add(chunk);

        chunk = new Chunk("\n         Nome: ");
        paragrafo.add(chunk);
        chunk = new Chunk(nomeConcedente);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        chunk = new Chunk("\n         Endereço: ");
        paragrafo.add(chunk);
        chunk = new Chunk(ruaConcedente + ", n." + nRuaConcedente + ", " + bairroConcedente);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        chunk = new Chunk("\n         Cidade: ");
        paragrafo.add(chunk);
        chunk = new Chunk(cidadeConcedente);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        chunk = new Chunk("  Estado: ");
        paragrafo.add(chunk);
        chunk = new Chunk(ufConcedente);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        chunk = new Chunk("  CEP: ");
        paragrafo.add(chunk);
        chunk = new Chunk(cepConcedente);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        chunk = new Chunk("\n         Telefone: ");
        paragrafo.add(chunk);
        chunk = new Chunk(telefoneConcedente);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        chunk = new Chunk("  Ramal: ");
        paragrafo.add(chunk);
        chunk = new Chunk(ramalConcedente);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        chunk = new Chunk("  Fax: ");
        paragrafo.add(chunk);
        chunk = new Chunk(faxConcedente);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        chunk = new Chunk("\n         e-Mail: ");
        paragrafo.add(chunk);
        chunk = new Chunk(emailConcedente);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        paragrafo.setSpacingAfter(20);
        document.add(paragrafo);

        //Supervisor
        paragrafo = new Paragraph(null, FontFactory.getFont(FontFactory.TIMES_ROMAN, 12));
        chunk = new Chunk("3)    SUPERVISOR", FontFactory.getFont(FontFactory.TIMES_BOLD));
        paragrafo.add(chunk);

        chunk = new Chunk("\n         Nome: ");
        paragrafo.add(chunk);
        chunk = new Chunk(nomeSupervisor);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        chunk = new Chunk("\n         Telefone: ");
        paragrafo.add(chunk);
        chunk = new Chunk(telefoneSupervisor);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        chunk = new Chunk("  Ramal: ");
        paragrafo.add(chunk);
        chunk = new Chunk(ramalSupervisor);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        chunk = new Chunk("  Fax: ");
        paragrafo.add(chunk);
        chunk = new Chunk(faxSupervisor);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        chunk = new Chunk("\n         e-Mail: ");
        paragrafo.add(chunk);
        chunk = new Chunk(emailSupervisor);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        paragrafo.setSpacingAfter(20);
        document.add(paragrafo);

        //Orientador
        paragrafo = new Paragraph(null, FontFactory.getFont(FontFactory.TIMES_ROMAN, 12));
        chunk = new Chunk("4)    PROFESSOR ORIENTADOR", FontFactory.getFont(FontFactory.TIMES_BOLD));
        paragrafo.add(chunk);

        chunk = new Chunk("\n         Nome: ");
        paragrafo.add(chunk);
        chunk = new Chunk(nomeOrientador);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        paragrafo.setSpacingAfter(20);
        document.add(paragrafo);

        //Estagio
        paragrafo = new Paragraph(null, FontFactory.getFont(FontFactory.TIMES_ROMAN, 12));
        paragrafo.setAlignment(Element.ALIGN_JUSTIFIED);
        chunk = new Chunk("5)    DADOS SOBRE O ESTÁGIO", FontFactory.getFont(FontFactory.TIMES_BOLD));
        paragrafo.add(chunk);

        chunk = new Chunk("\n         Tema: ");
        paragrafo.add(chunk);
        chunk = new Chunk(tema);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        chunk = new Chunk("\n         Área: ");
        paragrafo.add(chunk);
        chunk = new Chunk(area);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        chunk = new Chunk("    Carga Horária Total Prevista (horas): ");
        paragrafo.add(chunk);
        chunk = new Chunk(String.valueOf(cargaHorariaTotalPrevista));
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        chunk = new Chunk("\n         Duração Prevista    Início: ");
        paragrafo.add(chunk);
        chunk = new Chunk(inicioPrevisto);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        chunk = new Chunk("    Término: ");
        paragrafo.add(chunk);
        chunk = new Chunk(terminoPrevisto);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        chunk = new Chunk("\n\n         5.2)      JUSTIFICATIVA\n", FontFactory.getFont(FontFactory.TIMES_BOLD));
        paragrafo.add(chunk);

        chunk = new Chunk(justificativa);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        chunk = new Chunk("\n\n         5.3)      OBJETIVO\n", FontFactory.getFont(FontFactory.TIMES_BOLD));
        paragrafo.add(chunk);

        chunk = new Chunk(objetivo);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        chunk = new Chunk("\n\n         5.4)      METODOLOGIA\n", FontFactory.getFont(FontFactory.TIMES_BOLD));
        paragrafo.add(chunk);

        chunk = new Chunk(metodologia);
        chunk.setUnderline(0.1f, -2f);
        paragrafo.add(chunk);

        paragrafo.setSpacingAfter(20);
        document.add(paragrafo);

        //Assinaturas
        paragrafo = new Paragraph(null, FontFactory.getFont(FontFactory.TIMES_ROMAN, 12));
        chunk = new Chunk("\nLocal: _________________________________      Data: _________________________________\n\n\n");
        paragrafo.add(chunk);

        chunk = new Chunk("                              Supervisor                              ");
        chunk.setUnderline(0.1f, 10f);
        paragrafo.add(chunk);

        chunk = new Chunk("    ");
        paragrafo.add(chunk);

        chunk = new Chunk("                              Estagiário                              ");
        chunk.setUnderline(0.1f, 10f);
        paragrafo.add(chunk);

        chunk = new Chunk("\n\n\n");
        paragrafo.add(chunk);

        paragrafo.setAlignment(Element.ALIGN_CENTER);
        chunk = new Chunk("                       Professor Orientador                      ");
        chunk.setUnderline(0.1f, 10f);
        paragrafo.add(chunk);

        paragrafo.setSpacingAfter(20);
        document.add(paragrafo);

        //parecer da coe
        paragrafo = new Paragraph(null, FontFactory.getFont(FontFactory.TIMES_ROMAN, 12));
        PdfPTable table = new PdfPTable(1);
        table.setWidthPercentage(100.0f);
        PdfPCell header = new PdfPCell(new Paragraph("Parecer da COE:\n\n\n\n\n\n\n\n"
                + "Campo Grande/MS, ____/____/________    ______________________________________\n"
                + "                                                                                        Presidente da COE/Facom"));
        table.addCell(header);

        paragrafo.add(table);

        paragrafo.setSpacingAfter(20);
        document.add(paragrafo);

        document.close();
        return true;
    }

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws DocumentException, FileNotFoundException, BadElementException, MalformedURLException, IOException {

        //curso
        String nomeCurso = "Análise de Sistemas";
        Curso curso = new Curso(nomeCurso, 60);

        //orientador
        String nomeOrientador = "Maria Istela Cagnin";
        Orientador orientador = new Orientador(nomeOrientador, curso);

        //supervisor        
        String nomeSupervisor = "Hércules da Costa Sandim";
        String telefoneSupervisor = "(67)3333-6666";
        String ramalSupervisor = "5555";
        String faxSupervisor = "(67)3333-7777";
        String emailSupervisor = "hercules@facom.ufms.br";
        String cargo = "Professor";
        String formacaoExperienciaProfissional = "Banco de Dados";
        Supervisor supervisor = new Supervisor(nomeSupervisor, telefoneSupervisor, faxSupervisor, emailSupervisor, cargo, formacaoExperienciaProfissional);

        //concedente
        String nomeConcedente = "Coodenadoria de Educação Aberta e à Distância";
        String pessoaConcedente = "Jurídica";
        String cpfCnpjConcedente = "123456789012";
        String ruaConcedente = "Rua ufms";
        String nRuaConcedente = "123";
        String bairroConcedente = "Bairro ufms";
        String cidadeConcedente = "Campo Grande";
        String ufConcedente = "MS";
        String cepConcedente = "00000001";
        String telefoneConcedente = "(67)3333-1111";
        String ramalConcedente = "1111";
        String faxConcedente = "(67)3333-1112";
        String emailConcedente = "ufms@ufms.br";
        String representanteLegalConcedente = "Representante Legal";
        boolean isConveniadoConcedente = true;
        Concedente concedente = new Concedente(nomeConcedente, pessoaConcedente, cpfCnpjConcedente, ruaConcedente, nRuaConcedente, bairroConcedente, cidadeConcedente, ufConcedente, cepConcedente, telefoneConcedente, faxConcedente, emailConcedente, representanteLegalConcedente, isConveniadoConcedente);

        //estagiario
        String nome = "Pedro Henrique de Araújo Siqueira";
        String unidadeSetorial = "FACOM";
        int semestre = 8;
        String rga = "123456789012";
        String cpf = "12345678900";
        String rg = "1234567";
        String orgaoExpedidor = "ssp/ms";
        String nacionalidade = "brasileiro";
        String rua = "Rua onde moro";
        int nRua = 123;
        String bairro = "Bairro onde moro";
        String cep = "12345-678";
        String cidade = "Campo Grande";
        String uf = "MS";
        String telefone = "(67)3333-0000";
        String telefoneRecado = "(67)3333-0001";
        String email = "opedrosiqueira@gmail.com";
        Estagiario estagiario = new Estagiario(curso, nome, unidadeSetorial, semestre, rga, cpf, rg, orgaoExpedidor, nacionalidade, rua, nRua, bairro, cep, cidade, uf, telefone, telefoneRecado, email);

        //estagio
        boolean isObrigatorio = true;
        double valorBolsa = 300.50;
        double valorAuxilioTransporte = 50.20;
        String nApoliceSeguro = "123456";
        String empresaApoliceSeguro = "Metropolitan Life Seguros e Previdência Privada S/A";
        String tema = "Um tema qualquer";
        String area = "Sistema de Informação";
        double cargaHorariaDiaria = 4;
        double cargaHorariaSemanal = 20;
        double cargaHorariaTotalPrevista = 204;
        String inicioPrevisto = "01/09/2011";
        String terminoPrevisto = "01/12/2011";
        String justificativa = "Uma justificativa qualquer. Uma justificativa qualquer. Uma justificativa qualquer. Uma justificativa qualquer. Uma justificativa qualquer. Uma justificativa qualquer. Uma justificativa qualquer. Uma justificativa qualquer. Uma justificativa qualquer. Uma justificativa qualquer. Uma justificativa qualquer. Uma justificativa qualquer. Uma justificativa qualquer. Uma justificativa qualquer. Uma justificativa qualquer. Uma justificativa qualquer. Uma justificativa qualquer. Uma justificativa qualquer. ";
        String objetivo = "Um objetivo qualquer. Um objetivo qualquer. Um objetivo qualquer. Um objetivo qualquer. Um objetivo qualquer. Um objetivo qualquer. Um objetivo qualquer. Um objetivo qualquer. Um objetivo qualquer. Um objetivo qualquer. Um objetivo qualquer. Um objetivo qualquer. Um objetivo qualquer. Um objetivo qualquer. Um objetivo qualquer. Um objetivo qualquer. Um objetivo qualquer. Um objetivo qualquer. Um objetivo qualquer. Um objetivo qualquer. Um objetivo qualquer. Um objetivo qualquer. Um objetivo qualquer. Um objetivo qualquer. ";
        String metodologia = "Uma metodologia qualquer. Uma metodologia qualquer. Uma metodologia qualquer. Uma metodologia qualquer. Uma metodologia qualquer. Uma metodologia qualquer. Uma metodologia qualquer. Uma metodologia qualquer. Uma metodologia qualquer. Uma metodologia qualquer. Uma metodologia qualquer. Uma metodologia qualquer. Uma metodologia qualquer. Uma metodologia qualquer. Uma metodologia qualquer. Uma metodologia qualquer. Uma metodologia qualquer. Uma metodologia qualquer. Uma metodologia qualquer. Uma metodologia qualquer. Uma metodologia qualquer. Uma metodologia qualquer. Uma metodologia qualquer. Uma metodologia qualquer. Uma metodologia qualquer. Uma metodologia qualquer. Uma metodologia qualquer. Uma metodologia qualquer. Uma metodologia qualquer. Uma metodologia qualquer. Uma metodologia qualquer. Uma metodologia qualquer. Uma metodologia qualquer.";
        Estagio estagio = new Estagio(isObrigatorio, valorBolsa, valorAuxilioTransporte, nApoliceSeguro, empresaApoliceSeguro, tema, area, cargaHorariaDiaria, cargaHorariaSemanal, cargaHorariaTotalPrevista, inicioPrevisto, terminoPrevisto, justificativa, objetivo, metodologia, estagiario, concedente, orientador, supervisor);

        //avaliacao
        Boolean isEstagiario = true;
        String periodoInicio = "01/08/2011";
        String periodoFim = "01/12/2011";
        int ai1 = 1;
        int ai2 = 2;
        int ai3 = 3;
        int ai4 = 4;
        int ap1 = 5;
        int ap2 = 1;
        int ap3 = 2;
        int ap4 = 3;
        int ap5 = 4;
        int ap6 = 5;
        int atp1 = 1;
        int atp2 = 2;
        int atp3 = 3;
        int atp4 = 4;
        int atp5 = 5;
        int atp6 = 1;
        String c4_1 = "Como você qualificaria o aproveitamento do seu estágio? Como você qualificaria o aproveitamento do seu estágio? Como você qualificaria o aproveitamento do seu estágio? Como você qualificaria o aproveitamento do seu estágio? Como você qualificaria o aproveitamento do seu estágio? Como você qualificaria o aproveitamento do seu estágio?";
        String c4_2 = "Qual o grau de contribuição do estágio para sua formação profissional? Qual o grau de contribuição do estágio para sua formação profissional? Qual o grau de contribuição do estágio para sua formação profissional?";
        String sugestoes = "Observações e sugestões que julgar úteis. Observações e sugestões que julgar úteis. Observações e sugestões que julgar úteis.";

        //relatorio
        boolean isFinal = true;
        double cargaHorariaAcumulada = 243;
        String atividadesDesenvolvidas = "Atividades desenvolvidas no estágio. Atividades desenvolvidas no estágio. Atividades desenvolvidas no estágio. Atividades desenvolvidas no estágio. Atividades desenvolvidas no estágio. Atividades desenvolvidas no estágio. Atividades desenvolvidas no estágio. Atividades desenvolvidas no estágio. Atividades desenvolvidas no estágio. Atividades desenvolvidas no estágio. Atividades desenvolvidas no estágio. Atividades desenvolvidas no estágio. Atividades desenvolvidas no estágio. Atividades desenvolvidas no estágio. Atividades desenvolvidas no estágio. Atividades desenvolvidas no estágio. Atividades desenvolvidas no estágio. Atividades desenvolvidas no estágio. Atividades desenvolvidas no estágio. Atividades desenvolvidas no estágio. Atividades desenvolvidas no estágio. Atividades desenvolvidas no estágio. Atividades desenvolvidas no estágio. Atividades desenvolvidas no estágio. Atividades desenvolvidas no estágio. Atividades desenvolvidas no estágio. Atividades desenvolvidas no estágio. Atividades desenvolvidas no estágio. Atividades desenvolvidas no estágio. Atividades desenvolvidas no estágio. Atividades desenvolvidas no estágio. Atividades desenvolvidas no estágio. Atividades desenvolvidas no estágio. Atividades desenvolvidas no estágio. Atividades desenvolvidas no estágio. ";
        int programaEstagio = 0;
        String atividadesNaoIncluidasProgramaEstagio = "Atividades não incluídas no programa de estágio. Atividades não incluídas no programa de estágio. Atividades não incluídas no programa de estágio. Atividades não incluídas no programa de estágio. Atividades não incluídas no programa de estágio. Atividades não incluídas no programa de estágio. Atividades não incluídas no programa de estágio. Atividades não incluídas no programa de estágio. ";
        String tarefasNaoContribuiram = "Tarefas que não contribuiram para minha formação profissional. Tarefas que não contribuiram para minha formação profissional. Tarefas que não contribuiram para minha formação profissional. Tarefas que não contribuiram para minha formação profissional. ";
        String tarefasIndispensaveisNaoFeitas = "Tarefas indispensáveis não feitas. Tarefas indispensáveis não feitas. Tarefas indispensáveis não feitas. ";
        int realidadeTrabalho = 1;
        int conhecimentosTeoricos = 2;
        boolean ambientacaoPessoas = false;
        boolean temOrientadorTarefas = true;
        String orientadorTarefas = "João Felipe Rezende Nasser";
        boolean informacoesClaras = true;
        boolean informacoesDadas = true;
        String aQuemRecorria = "João Felipe Rezende Nasser";
        int sentirDeficiencias = 0;
        String dificuldades = "Dificuldades encontradas em relação ao desempenho de minhas tarefas. Dificuldades encontradas em relação ao desempenho de minhas tarefas. ";
        boolean trocaExperiencia = false;
        int solucoesProprias = 2;
        boolean trabalhosTeoricosPalestras = true;
        String outrasObservacoes = "Alguma obervação a ser feita. Alguma obervação a ser feita. Alguma obervação a ser feita. Alguma obervação a ser feita.";

        //fichafrequencia
        String referenteAoMes = "11/2011";
        String tabela = "01/11/2011@7h-11h@Atividades do Estagio@02/11/2011@7h-11h@Atividades do Estagio@03/11/2011@7h-11h@Atividades do Estagio@04/11/2011@7h-11h@Atividades do Estagio@05/11/2011@7h-11h@Atividades do Estagio@06/11/2011@7h-11h@Atividades do Estagio@07/11/2011@7h-11h@Atividades do Estagio@08/11/2011@7h-11h@Atividades do Estagio@09/11/2011@7h-11h@Atividades do Estagio@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@";
        FichaFrequencia fichaFrequencia = new FichaFrequencia(referenteAoMes, tabela, estagio);

//        if (gerarPlanoAtividades(isObrigatorio, valorBolsa, valorAuxilioTransporte, nApoliceSeguro, empresaApoliceSeguro, tema, area, cargaHorariaDiaria, cargaHorariaSemanal, cargaHorariaTotalPrevista, inicioPrevisto, terminoPrevisto, justificativa, objetivo, metodologia, nomeConcedente, pessoaConcedente, cpfCnpjConcedente, ruaConcedente, nRuaConcedente, bairroConcedente, cidadeConcedente, ufConcedente, cepConcedente, telefoneConcedente, ramalConcedente, faxConcedente, emailConcedente, representanteLegalConcedente, isConveniadoConcedente, nomeOrientador, nomeSupervisor, telefoneSupervisor, ramalSupervisor, faxSupervisor, emailSupervisor, cargo, formacaoExperienciaProfissional, nome, nomeCurso, unidadeSetorial, semestre, rga, cpf, rg, orgaoExpedidor, nacionalidade, rua, 123, bairro, cep, cidade, uf, telefone, telefoneRecado, email)) {
//            System.out.println("Plano de Atividades gerado com sucesso");
//        }
//        if (gerarTermoCompromisso(isObrigatorio, valorBolsa, valorAuxilioTransporte, nApoliceSeguro, empresaApoliceSeguro, tema, area, cargaHorariaDiaria, cargaHorariaSemanal, cargaHorariaTotalPrevista, inicioPrevisto, terminoPrevisto, justificativa, objetivo, metodologia, nomeConcedente, pessoaConcedente, cpfCnpjConcedente, ruaConcedente, nRuaConcedente, bairroConcedente, cidadeConcedente, ufConcedente, cepConcedente, telefoneConcedente, ramalConcedente, faxConcedente, emailConcedente, representanteLegalConcedente, isConveniadoConcedente, nomeOrientador, nomeSupervisor, telefoneSupervisor, ramalSupervisor, faxSupervisor, emailSupervisor, cargo, formacaoExperienciaProfissional, nome, nomeCurso, unidadeSetorial, semestre, rga, cpf, rg, orgaoExpedidor, nacionalidade, rua, nRua, bairro, cep, cidade, uf, telefone, telefoneRecado, email)) {
//            System.out.println("Termo Obrigatório gerado com sucesso");
//        }
//        if (gerarTermoCompromisso(false, valorBolsa, valorAuxilioTransporte, nApoliceSeguro, empresaApoliceSeguro, tema, area, cargaHorariaDiaria, cargaHorariaSemanal, cargaHorariaTotalPrevista, inicioPrevisto, terminoPrevisto, justificativa, objetivo, metodologia, nomeConcedente, pessoaConcedente, cpfCnpjConcedente, ruaConcedente, nRuaConcedente, bairroConcedente, cidadeConcedente, ufConcedente, cepConcedente, telefoneConcedente, ramalConcedente, faxConcedente, emailConcedente, representanteLegalConcedente, isConveniadoConcedente, nomeOrientador, nomeSupervisor, telefoneSupervisor, ramalSupervisor, faxSupervisor, emailSupervisor, cargo, formacaoExperienciaProfissional, nome, nomeCurso, unidadeSetorial, semestre, rga, cpf, rg, orgaoExpedidor, nacionalidade, rua, nRua, bairro, cep, cidade, uf, telefone, telefoneRecado, email)) {
//            System.out.println("Termo Não-Obrigatório gerado com sucesso");
//        }
//        if (gerarAvaliacao(isEstagiario, nomeCurso, isObrigatorio, nome, nomeOrientador, nomeConcedente, nomeSupervisor, periodoInicio, periodoFim, valorBolsa, valorAuxilioTransporte, ai1, ai2, ai3, ai4, ap1, ap2, ap3, ap4, ap5, ap6, atp1, atp2, atp3, atp4, atp5, atp6, c4_1, c4_2, sugestoes)) {
//            System.out.println("Avaliacao pelo Estagiário gerado com sucesso");
//        }
//        if (gerarAvaliacao(false, nomeCurso, isObrigatorio, nome, nomeOrientador, nomeConcedente, nomeSupervisor, periodoInicio, periodoFim, valorBolsa, valorAuxilioTransporte, ai1, ai2, ai3, ai4, ap1, ap2, ap3, ap4, ap5, ap6, atp1, atp2, atp3, atp4, atp5, atp6, c4_1, c4_2, sugestoes)) {
//            System.out.println("Avaliacao pelo Supervisor gerado com sucesso");
//        }
//        if (gerarRelatorio(isFinal, nomeCurso, isObrigatorio, nome, nomeOrientador, nomeConcedente, nomeSupervisor, periodoInicio, periodoFim, cargaHorariaAcumulada, valorBolsa, valorAuxilioTransporte, atividadesDesenvolvidas, programaEstagio, atividadesNaoIncluidasProgramaEstagio, tarefasNaoContribuiram, tarefasIndispensaveisNaoFeitas, realidadeTrabalho, conhecimentosTeoricos, ambientacaoPessoas, temOrientadorTarefas, orientadorTarefas, informacoesClaras, informacoesDadas, aQuemRecorria, sentirDeficiencias, dificuldades, trocaExperiencia, solucoesProprias, trabalhosTeoricosPalestras, outrasObservacoes)) {
//            System.out.println("Relatório Final gerado com sucesso");
//        }
//        if (gerarRelatorio(false, nomeCurso, isObrigatorio, nome, nomeOrientador, nomeConcedente, nomeSupervisor, periodoInicio, periodoFim, cargaHorariaAcumulada, valorBolsa, valorAuxilioTransporte, atividadesDesenvolvidas, programaEstagio, atividadesNaoIncluidasProgramaEstagio, tarefasNaoContribuiram, tarefasIndispensaveisNaoFeitas, realidadeTrabalho, conhecimentosTeoricos, ambientacaoPessoas, temOrientadorTarefas, orientadorTarefas, informacoesClaras, informacoesDadas, aQuemRecorria, sentirDeficiencias, dificuldades, trocaExperiencia, solucoesProprias, trabalhosTeoricosPalestras, outrasObservacoes)) {
//            System.out.println("Relatório Parcial gerado com sucesso");
//        }
        if (gerarFichaFrequencia(fichaFrequencia)) {
            System.out.println("Ficha de Frequência gerada com sucesso");
        }
        if (gerarCertificado(nome, nomeCurso, (int) cargaHorariaTotalPrevista, periodoInicio, periodoFim, nomeConcedente, nomeOrientador, nomeSupervisor)) {
            System.out.println("Certificado gerado com sucesso");
        }
    }

    public GerarFormularios() {
    }
}
